package com.chunfeng.lerunapplication.list;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.chunfeng.lerunapplication.R;
import com.chunfeng.lerunapplication.entity.Orders;
import lombok.AllArgsConstructor;
import org.jetbrains.annotations.NotNull;

import java.util.List;

/**
 * 订单列表适配器
 *
 * @author by 春风能解释
 * <p>
 * 2023/12/4
 */
@AllArgsConstructor
public class ListAdapt extends RecyclerView.Adapter<ListHolder> {

    /**
     * 订单列表
     */
    private List<Orders> ordersList;

    /**
     * 设置列表每一项的布局文件
     *
     * @param parent   父容器
     * @param viewType 布局类型
     * @return 新的列表项布局
     */
    @NonNull
    @NotNull
    @Override
    public ListHolder onCreateViewHolder(@NonNull @NotNull ViewGroup parent, int viewType) {
        View view = LayoutInflater
                .from(parent.getContext())
                .inflate(R.layout.list_item_layout, parent, false);
        return new ListHolder(view);
    }

    /**
     * 将数据绑定到每一个列表项组件上
     *
     * @param holder   每一个列表项的组件
     * @param position 数据索引
     */
    @Override
    public void onBindViewHolder(@NonNull @NotNull ListHolder holder, int position) {
        Orders orders = ordersList.get(position);
        holder.setOrders(orders);
        holder.getDescription().setText(orders.getDescription());
    }

    /**
     * 返回需要的组件个数
     *
     * @return 个数
     */
    @Override
    public int getItemCount() {
        return ordersList.size();
    }
}
